摘要
实现了基于隐马尔可夫模型的词性标注器。这个方法只用很少的资源就可以实现鲁棒的准确的词性标注。只需要一个词表和未标注的文本。准确率超过96%
。
必要条件
自动化的文本标注是在更大的语料库中发现语言结果的重要的第一步。词性标注为更高层次的分析提供基础。例如识别名词和其他文本中的模式。
一个标注器得具备的几个特性:
- Robust鲁棒性
- Efficient高效性
- Accurate 准确性
- Tunable 可调性,可以利用先验知识来解决系统性错误。
- Reusable 可服用性
方法
2.1 背景
已有的几种词性标注的方法:
- rule-based 基于规则的
- statistical methods 基于统计的
对于参数估计也有两种方法,一种需要标注好的语料库;而另一种则是利用前向-后向算法,这个不需要标注好的语料库。
2.2 论文中的方法
- 使用HMM可以允许在选择训练语料库上有更大的灵活性。
3 隐马尔可夫模型
应用HMM有两个任务,估计参数和先验概率,在训练集合上。计算隐藏状态的转移序列。
数值稳定性
因为前向后向算中使用到的乘积的结果是0到1之间的数值,很容易下溢,所以需要调整放大一下。首先是前向概率,重新计算一遍,分子是当前的前向概率,分母是当前时刻的所有前向概率的和。同样的处理过程同样应用在后向概率上。B的稀疏性可以减少一下一些运算,可以先检测对应的位置上是否有0,有的话就不用计算了。
训练集的处理方式
我看这篇论文的主要目的在于知道隐马尔可夫对训练集的处理方式。如果是显马尔可夫的话,只要用最大似然的方式统计A、B以及Pi就可以了,但是如果是隐马尔可夫的话,我们需要一个序列来作为训练集。正常情况下就是把整个文本当作一个序列,作为估计,而不是以句子为单位。但是这篇文章中为了优化,将其分为多个长度相同的部分训练参数,最后将参数做平均。如果是按照每句话划分的话,最后合并的时候因为matrix的size不同,会导致无法平均。